
! KGEN-generated Fortran source file
!
! Filename    : mo_lu_solve.F90
! Generated at: 2015-05-13 11:02:22
! KGEN version: 0.4.10



    MODULE mo_lu_solve
        USE kgen_utils_mod, ONLY : kgen_dp, check_t, kgen_init_check, kgen_print_check
        PRIVATE
        PUBLIC lu_slv
        CONTAINS

        ! write subroutines
        ! No subroutines
        ! No module extern variables

        SUBROUTINE lu_slv01(lu, b)
            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
            IMPLICIT NONE
            !-----------------------------------------------------------------------
            ! ... Dummy args
            !-----------------------------------------------------------------------
            REAL(KIND=r8), intent(in) :: lu(:)
            REAL(KIND=r8), intent(inout) :: b(:)
            !-----------------------------------------------------------------------
            ! ... Local variables
            !-----------------------------------------------------------------------
            !-----------------------------------------------------------------------
            ! ... solve L * y = b
            !-----------------------------------------------------------------------
            b(125) = b(125) - lu(18) * b(17)
            b(131) = b(131) - lu(19) * b(17)
            b(124) = b(124) - lu(21) * b(18)
            b(126) = b(126) - lu(22) * b(18)
            b(79) = b(79) - lu(24) * b(19)
            b(131) = b(131) - lu(25) * b(19)
            b(41) = b(41) - lu(27) * b(20)
            b(131) = b(131) - lu(28) * b(20)
            b(96) = b(96) - lu(30) * b(21)
            b(131) = b(131) - lu(31) * b(21)
            b(134) = b(134) - lu(32) * b(21)
            b(23) = b(23) - lu(34) * b(22)
            b(65) = b(65) - lu(35) * b(22)
            b(125) = b(125) - lu(36) * b(22)
            b(131) = b(131) - lu(37) * b(22)
            b(31) = b(31) - lu(39) * b(23)
            b(131) = b(131) - lu(40) * b(23)
            b(56) = b(56) - lu(42) * b(24)
            b(131) = b(131) - lu(43) * b(24)
            b(88) = b(88) - lu(45) * b(25)
            b(122) = b(122) - lu(46) * b(25)
            b(36) = b(36) - lu(48) * b(26)
            b(134) = b(134) - lu(49) * b(26)
            b(120) = b(120) - lu(51) * b(27)
            b(120) = b(120) - lu(54) * b(28)
            b(126) = b(126) - lu(56) * b(29)
            b(122) = b(122) - lu(58) * b(30)
            b(125) = b(125) - lu(59) * b(30)
            b(131) = b(131) - lu(60) * b(30)
            b(66) = b(66) - lu(62) * b(31)
            b(125) = b(125) - lu(63) * b(31)
            b(130) = b(130) - lu(64) * b(31)
            b(88) = b(88) - lu(66) * b(32)
            b(122) = b(122) - lu(67) * b(32)
            b(126) = b(126) - lu(68) * b(32)
            b(118) = b(118) - lu(70) * b(33)
            b(126) = b(126) - lu(71) * b(33)
            b(88) = b(88) - lu(73) * b(34)
            b(127) = b(127) - lu(74) * b(34)
            b(104) = b(104) - lu(76) * b(35)
            b(125) = b(125) - lu(77) * b(35)
            b(131) = b(131) - lu(78) * b(35)
            b(99) = b(99) - lu(81) * b(36)
            b(121) = b(121) - lu(82) * b(36)
            b(134) = b(134) - lu(83) * b(36)
            b(91) = b(91) - lu(85) * b(37)
            b(117) = b(117) - lu(86) * b(37)
            b(126) = b(126) - lu(87) * b(37)
            b(131) = b(131) - lu(88) * b(37)
            b(134) = b(134) - lu(89) * b(37)
            b(64) = b(64) - lu(91) * b(38)
            b(81) = b(81) - lu(92) * b(38)
            b(103) = b(103) - lu(93) * b(38)
            b(125) = b(125) - lu(94) * b(38)
            b(131) = b(131) - lu(95) * b(38)
            b(99) = b(99) - lu(97) * b(39)
            b(125) = b(125) - lu(98) * b(39)
            b(131) = b(131) - lu(99) * b(39)
            b(132) = b(132) - lu(100) * b(39)
            b(133) = b(133) - lu(101) * b(39)
            b(121) = b(121) - lu(103) * b(40)
            b(129) = b(129) - lu(104) * b(40)
            b(130) = b(130) - lu(105) * b(40)
            b(132) = b(132) - lu(106) * b(40)
            b(133) = b(133) - lu(107) * b(40)
            b(80) = b(80) - lu(109) * b(41)
            b(104) = b(104) - lu(110) * b(41)
            b(125) = b(125) - lu(111) * b(41)
            b(129) = b(129) - lu(112) * b(41)
            b(130) = b(130) - lu(113) * b(41)
            b(135) = b(135) - lu(114) * b(41)
            b(77) = b(77) - lu(116) * b(42)
            b(104) = b(104) - lu(117) * b(42)
            b(115) = b(115) - lu(118) * b(42)
            b(131) = b(131) - lu(119) * b(42)
            b(112) = b(112) - lu(121) * b(43)
            b(114) = b(114) - lu(122) * b(43)
            b(125) = b(125) - lu(123) * b(43)
            b(131) = b(131) - lu(124) * b(43)
            b(91) = b(91) - lu(126) * b(44)
            b(104) = b(104) - lu(127) * b(44)
            b(125) = b(125) - lu(128) * b(44)
            b(131) = b(131) - lu(129) * b(44)
            b(110) = b(110) - lu(131) * b(45)
            b(131) = b(131) - lu(132) * b(45)
            b(134) = b(134) - lu(133) * b(45)
            b(99) = b(99) - lu(135) * b(46)
            b(116) = b(116) - lu(136) * b(46)
            b(121) = b(121) - lu(137) * b(46)
            b(124) = b(124) - lu(138) * b(46)
            b(110) = b(110) - lu(140) * b(47)
            b(131) = b(131) - lu(141) * b(47)
            b(82) = b(82) - lu(143) * b(48)
            b(99) = b(99) - lu(144) * b(48)
            b(103) = b(103) - lu(145) * b(48)
            b(116) = b(116) - lu(146) * b(48)
            b(121) = b(121) - lu(147) * b(48)
            b(127) = b(127) - lu(148) * b(48)
            b(131) = b(131) - lu(149) * b(48)
            b(109) = b(109) - lu(151) * b(49)
            b(130) = b(130) - lu(152) * b(49)
            b(131) = b(131) - lu(153) * b(49)
            b(119) = b(119) - lu(155) * b(50)
            b(127) = b(127) - lu(156) * b(50)
            b(131) = b(131) - lu(157) * b(50)
            b(134) = b(134) - lu(158) * b(50)
            b(135) = b(135) - lu(159) * b(50)
            b(65) = b(65) - lu(161) * b(51)
            b(66) = b(66) - lu(162) * b(51)
            b(81) = b(81) - lu(163) * b(51)
            b(109) = b(109) - lu(164) * b(51)
            b(131) = b(131) - lu(165) * b(51)
            b(80) = b(80) - lu(167) * b(52)
            b(96) = b(96) - lu(168) * b(52)
            b(125) = b(125) - lu(169) * b(52)
            b(131) = b(131) - lu(170) * b(52)
            b(134) = b(134) - lu(171) * b(52)
            b(106) = b(106) - lu(173) * b(53)
            b(115) = b(115) - lu(174) * b(53)
            b(131) = b(131) - lu(175) * b(53)
            b(134) = b(134) - lu(176) * b(53)
            b(135) = b(135) - lu(177) * b(53)
            b(64) = b(64) - lu(179) * b(54)
            b(125) = b(125) - lu(180) * b(54)
            b(129) = b(129) - lu(181) * b(54)
            b(130) = b(130) - lu(182) * b(54)
            b(135) = b(135) - lu(183) * b(54)
            b(77) = b(77) - lu(185) * b(55)
            b(91) = b(91) - lu(186) * b(55)
            b(115) = b(115) - lu(187) * b(55)
            b(131) = b(131) - lu(188) * b(55)
            b(95) = b(95) - lu(190) * b(56)
            b(120) = b(120) - lu(191) * b(56)
            b(125) = b(125) - lu(192) * b(56)
            b(135) = b(135) - lu(193) * b(56)
            b(115) = b(115) - lu(195) * b(57)
            b(119) = b(119) - lu(196) * b(57)
            b(130) = b(130) - lu(197) * b(57)
            b(131) = b(131) - lu(198) * b(57)
            b(132) = b(132) - lu(199) * b(57)
            b(135) = b(135) - lu(200) * b(57)
            b(72) = b(72) - lu(202) * b(58)
            b(85) = b(85) - lu(203) * b(58)
            b(86) = b(86) - lu(204) * b(58)
            b(92) = b(92) - lu(205) * b(58)
            b(120) = b(120) - lu(206) * b(58)
            b(121) = b(121) - lu(207) * b(58)
            b(80) = b(80) - lu(209) * b(59)
            b(98) = b(98) - lu(210) * b(59)
            b(107) = b(107) - lu(211) * b(59)
            b(113) = b(113) - lu(212) * b(59)
            b(125) = b(125) - lu(213) * b(59)
            b(131) = b(131) - lu(214) * b(59)
            b(120) = b(120) - lu(216) * b(60)
            b(125) = b(125) - lu(217) * b(60)
            b(130) = b(130) - lu(218) * b(60)
            b(131) = b(131) - lu(219) * b(60)
            b(132) = b(132) - lu(220) * b(60)
            b(134) = b(134) - lu(221) * b(60)
            b(92) = b(92) - lu(223) * b(61)
            b(120) = b(120) - lu(224) * b(61)
            b(122) = b(122) - lu(225) * b(61)
            b(129) = b(129) - lu(226) * b(61)
            b(115) = b(115) - lu(228) * b(62)
            b(119) = b(119) - lu(229) * b(62)
            b(131) = b(131) - lu(230) * b(62)
            b(134) = b(134) - lu(231) * b(62)
            b(135) = b(135) - lu(232) * b(62)
            b(64) = b(64) - lu(234) * b(63)
            b(83) = b(83) - lu(235) * b(63)
            b(103) = b(103) - lu(236) * b(63)
            b(123) = b(123) - lu(237) * b(63)
            b(125) = b(125) - lu(238) * b(63)
            b(131) = b(131) - lu(239) * b(63)
            b(135) = b(135) - lu(240) * b(63)
            b(125) = b(125) - lu(242) * b(64)
            b(131) = b(131) - lu(243) * b(64)
            b(134) = b(134) - lu(244) * b(64)
            b(66) = b(66) - lu(247) * b(65)
            b(81) = b(81) - lu(248) * b(65)
            b(109) = b(109) - lu(249) * b(65)
            b(125) = b(125) - lu(250) * b(65)
            b(129) = b(129) - lu(251) * b(65)
            b(130) = b(130) - lu(252) * b(65)
            b(131) = b(131) - lu(253) * b(65)
            b(81) = b(81) - lu(255) * b(66)
            b(103) = b(103) - lu(256) * b(66)
            b(109) = b(109) - lu(257) * b(66)
            b(115) = b(115) - lu(258) * b(66)
            b(125) = b(125) - lu(259) * b(66)
            b(89) = b(89) - lu(261) * b(67)
            b(104) = b(104) - lu(262) * b(67)
            b(105) = b(105) - lu(263) * b(67)
            b(125) = b(125) - lu(264) * b(67)
            b(131) = b(131) - lu(265) * b(67)
            b(134) = b(134) - lu(266) * b(67)
            b(135) = b(135) - lu(267) * b(67)
            b(125) = b(125) - lu(269) * b(68)
            b(131) = b(131) - lu(270) * b(68)
            b(135) = b(135) - lu(271) * b(68)
            b(107) = b(107) - lu(273) * b(69)
            b(110) = b(110) - lu(274) * b(69)
            b(111) = b(111) - lu(275) * b(69)
            b(113) = b(113) - lu(276) * b(69)
            b(125) = b(125) - lu(277) * b(69)
            b(131) = b(131) - lu(278) * b(69)
            b(135) = b(135) - lu(279) * b(69)
        END SUBROUTINE lu_slv01

        SUBROUTINE lu_slv02(lu, b)
            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
            IMPLICIT NONE
            !-----------------------------------------------------------------------
            ! ... Dummy args
            !-----------------------------------------------------------------------
            REAL(KIND=r8), intent(in) :: lu(:)
            REAL(KIND=r8), intent(inout) :: b(:)
            !-----------------------------------------------------------------------
            ! ... Local variables
            !-----------------------------------------------------------------------
            !-----------------------------------------------------------------------
            ! ... solve L * y = b
            !-----------------------------------------------------------------------
            b(84) = b(84) - lu(281) * b(70)
            b(118) = b(118) - lu(282) * b(70)
            b(121) = b(121) - lu(283) * b(70)
            b(128) = b(128) - lu(284) * b(70)
            b(130) = b(130) - lu(285) * b(70)
            b(132) = b(132) - lu(286) * b(70)
            b(133) = b(133) - lu(287) * b(70)
            b(105) = b(105) - lu(289) * b(71)
            b(114) = b(114) - lu(290) * b(71)
            b(125) = b(125) - lu(291) * b(71)
            b(130) = b(130) - lu(292) * b(71)
            b(131) = b(131) - lu(293) * b(71)
            b(132) = b(132) - lu(294) * b(71)
            b(135) = b(135) - lu(295) * b(71)
            b(85) = b(85) - lu(297) * b(72)
            b(86) = b(86) - lu(298) * b(72)
            b(92) = b(92) - lu(299) * b(72)
            b(103) = b(103) - lu(300) * b(72)
            b(120) = b(120) - lu(301) * b(72)
            b(121) = b(121) - lu(302) * b(72)
            b(98) = b(98) - lu(304) * b(73)
            b(107) = b(107) - lu(305) * b(73)
            b(113) = b(113) - lu(306) * b(73)
            b(123) = b(123) - lu(307) * b(73)
            b(125) = b(125) - lu(308) * b(73)
            b(130) = b(130) - lu(309) * b(73)
            b(131) = b(131) - lu(310) * b(73)
            b(132) = b(132) - lu(311) * b(73)
            b(117) = b(117) - lu(313) * b(74)
            b(121) = b(121) - lu(314) * b(74)
            b(125) = b(125) - lu(315) * b(74)
            b(126) = b(126) - lu(316) * b(74)
            b(131) = b(131) - lu(317) * b(74)
            b(134) = b(134) - lu(318) * b(74)
            b(119) = b(119) - lu(320) * b(75)
            b(131) = b(131) - lu(321) * b(75)
            b(134) = b(134) - lu(322) * b(75)
            b(77) = b(77) - lu(325) * b(76)
            b(79) = b(79) - lu(326) * b(76)
            b(80) = b(80) - lu(327) * b(76)
            b(91) = b(91) - lu(328) * b(76)
            b(104) = b(104) - lu(329) * b(76)
            b(115) = b(115) - lu(330) * b(76)
            b(125) = b(125) - lu(331) * b(76)
            b(131) = b(131) - lu(332) * b(76)
            b(135) = b(135) - lu(333) * b(76)
            b(104) = b(104) - lu(336) * b(77)
            b(115) = b(115) - lu(337) * b(77)
            b(125) = b(125) - lu(338) * b(77)
            b(129) = b(129) - lu(339) * b(77)
            b(130) = b(130) - lu(340) * b(77)
            b(131) = b(131) - lu(341) * b(77)
            b(85) = b(85) - lu(345) * b(78)
            b(86) = b(86) - lu(346) * b(78)
            b(87) = b(87) - lu(347) * b(78)
            b(92) = b(92) - lu(348) * b(78)
            b(103) = b(103) - lu(349) * b(78)
            b(120) = b(120) - lu(350) * b(78)
            b(121) = b(121) - lu(351) * b(78)
            b(122) = b(122) - lu(352) * b(78)
            b(129) = b(129) - lu(353) * b(78)
            b(80) = b(80) - lu(359) * b(79)
            b(91) = b(91) - lu(360) * b(79)
            b(104) = b(104) - lu(361) * b(79)
            b(109) = b(109) - lu(362) * b(79)
            b(115) = b(115) - lu(363) * b(79)
            b(125) = b(125) - lu(364) * b(79)
            b(129) = b(129) - lu(365) * b(79)
            b(130) = b(130) - lu(366) * b(79)
            b(131) = b(131) - lu(367) * b(79)
            b(135) = b(135) - lu(368) * b(79)
            b(106) = b(106) - lu(370) * b(80)
            b(115) = b(115) - lu(371) * b(80)
            b(119) = b(119) - lu(372) * b(80)
            b(131) = b(131) - lu(373) * b(80)
            b(134) = b(134) - lu(374) * b(80)
            b(103) = b(103) - lu(376) * b(81)
            b(125) = b(125) - lu(377) * b(81)
            b(131) = b(131) - lu(378) * b(81)
            b(116) = b(116) - lu(380) * b(82)
            b(120) = b(120) - lu(381) * b(82)
            b(121) = b(121) - lu(382) * b(82)
            b(123) = b(123) - lu(383) * b(82)
            b(127) = b(127) - lu(384) * b(82)
            b(131) = b(131) - lu(385) * b(82)
            b(95) = b(95) - lu(389) * b(83)
            b(120) = b(120) - lu(390) * b(83)
            b(125) = b(125) - lu(391) * b(83)
            b(129) = b(129) - lu(392) * b(83)
            b(130) = b(130) - lu(393) * b(83)
            b(131) = b(131) - lu(394) * b(83)
            b(135) = b(135) - lu(395) * b(83)
            b(117) = b(117) - lu(398) * b(84)
            b(118) = b(118) - lu(399) * b(84)
            b(121) = b(121) - lu(400) * b(84)
            b(126) = b(126) - lu(401) * b(84)
            b(128) = b(128) - lu(402) * b(84)
            b(131) = b(131) - lu(403) * b(84)
            b(134) = b(134) - lu(404) * b(84)
            b(86) = b(86) - lu(406) * b(85)
            b(87) = b(87) - lu(407) * b(85)
            b(92) = b(92) - lu(408) * b(85)
            b(120) = b(120) - lu(409) * b(85)
            b(121) = b(121) - lu(410) * b(85)
            b(122) = b(122) - lu(411) * b(85)
            b(129) = b(129) - lu(412) * b(85)
            b(87) = b(87) - lu(415) * b(86)
            b(92) = b(92) - lu(416) * b(86)
            b(120) = b(120) - lu(417) * b(86)
            b(121) = b(121) - lu(418) * b(86)
            b(122) = b(122) - lu(419) * b(86)
            b(129) = b(129) - lu(420) * b(86)
            b(92) = b(92) - lu(426) * b(87)
            b(103) = b(103) - lu(427) * b(87)
            b(120) = b(120) - lu(428) * b(87)
            b(121) = b(121) - lu(429) * b(87)
            b(122) = b(122) - lu(430) * b(87)
            b(129) = b(129) - lu(431) * b(87)
            b(108) = b(108) - lu(434) * b(88)
            b(119) = b(119) - lu(435) * b(88)
            b(127) = b(127) - lu(436) * b(88)
            b(131) = b(131) - lu(437) * b(88)
            b(132) = b(132) - lu(438) * b(88)
            b(133) = b(133) - lu(439) * b(88)
            b(134) = b(134) - lu(440) * b(88)
            b(104) = b(104) - lu(443) * b(89)
            b(105) = b(105) - lu(444) * b(89)
            b(120) = b(120) - lu(445) * b(89)
            b(125) = b(125) - lu(446) * b(89)
            b(129) = b(129) - lu(447) * b(89)
            b(130) = b(130) - lu(448) * b(89)
            b(131) = b(131) - lu(449) * b(89)
            b(134) = b(134) - lu(450) * b(89)
            b(135) = b(135) - lu(451) * b(89)
            b(118) = b(118) - lu(453) * b(90)
            b(121) = b(121) - lu(454) * b(90)
            b(122) = b(122) - lu(455) * b(90)
            b(127) = b(127) - lu(456) * b(90)
            b(131) = b(131) - lu(457) * b(90)
            b(134) = b(134) - lu(458) * b(90)
            b(104) = b(104) - lu(463) * b(91)
            b(119) = b(119) - lu(464) * b(91)
            b(120) = b(120) - lu(465) * b(91)
            b(125) = b(125) - lu(466) * b(91)
            b(129) = b(129) - lu(467) * b(91)
            b(130) = b(130) - lu(468) * b(91)
            b(131) = b(131) - lu(469) * b(91)
            b(135) = b(135) - lu(470) * b(91)
            b(103) = b(103) - lu(477) * b(92)
            b(120) = b(120) - lu(478) * b(92)
            b(121) = b(121) - lu(479) * b(92)
            b(122) = b(122) - lu(480) * b(92)
            b(127) = b(127) - lu(481) * b(92)
            b(129) = b(129) - lu(482) * b(92)
            b(130) = b(130) - lu(483) * b(92)
            b(131) = b(131) - lu(484) * b(92)
            b(117) = b(117) - lu(487) * b(93)
            b(121) = b(121) - lu(488) * b(93)
            b(124) = b(124) - lu(489) * b(93)
            b(126) = b(126) - lu(490) * b(93)
            b(131) = b(131) - lu(491) * b(93)
            b(134) = b(134) - lu(492) * b(93)
            b(101) = b(101) - lu(495) * b(94)
            b(102) = b(102) - lu(496) * b(94)
            b(103) = b(103) - lu(497) * b(94)
            b(107) = b(107) - lu(498) * b(94)
            b(111) = b(111) - lu(499) * b(94)
            b(113) = b(113) - lu(500) * b(94)
            b(114) = b(114) - lu(501) * b(94)
            b(119) = b(119) - lu(502) * b(94)
            b(123) = b(123) - lu(503) * b(94)
            b(125) = b(125) - lu(504) * b(94)
            b(131) = b(131) - lu(505) * b(94)
            b(132) = b(132) - lu(506) * b(94)
            b(134) = b(134) - lu(507) * b(94)
            b(135) = b(135) - lu(508) * b(94)
            b(103) = b(103) - lu(511) * b(95)
            b(125) = b(125) - lu(512) * b(95)
            b(131) = b(131) - lu(513) * b(95)
            b(135) = b(135) - lu(514) * b(95)
            b(104) = b(104) - lu(518) * b(96)
            b(106) = b(106) - lu(519) * b(96)
            b(115) = b(115) - lu(520) * b(96)
            b(119) = b(119) - lu(521) * b(96)
            b(120) = b(120) - lu(522) * b(96)
            b(125) = b(125) - lu(523) * b(96)
            b(129) = b(129) - lu(524) * b(96)
            b(130) = b(130) - lu(525) * b(96)
            b(131) = b(131) - lu(526) * b(96)
            b(134) = b(134) - lu(527) * b(96)
            b(135) = b(135) - lu(528) * b(96)
            b(103) = b(103) - lu(531) * b(97)
            b(110) = b(110) - lu(532) * b(97)
            b(125) = b(125) - lu(533) * b(97)
            b(130) = b(130) - lu(534) * b(97)
            b(131) = b(131) - lu(535) * b(97)
            b(132) = b(132) - lu(536) * b(97)
            b(135) = b(135) - lu(537) * b(97)
            b(106) = b(106) - lu(541) * b(98)
            b(107) = b(107) - lu(542) * b(98)
            b(113) = b(113) - lu(543) * b(98)
            b(115) = b(115) - lu(544) * b(98)
            b(119) = b(119) - lu(545) * b(98)
            b(125) = b(125) - lu(546) * b(98)
            b(129) = b(129) - lu(547) * b(98)
            b(130) = b(130) - lu(548) * b(98)
            b(131) = b(131) - lu(549) * b(98)
            b(134) = b(134) - lu(550) * b(98)
        END SUBROUTINE lu_slv02

        SUBROUTINE lu_slv03(lu, b)
            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
            IMPLICIT NONE
            !-----------------------------------------------------------------------
            ! ... Dummy args
            !-----------------------------------------------------------------------
            REAL(KIND=r8), intent(in) :: lu(:)
            REAL(KIND=r8), intent(inout) :: b(:)
            !-----------------------------------------------------------------------
            ! ... Local variables
            !-----------------------------------------------------------------------
            !-----------------------------------------------------------------------
            ! ... solve L * y = b
            !-----------------------------------------------------------------------
            b(116) = b(116) - lu(553) * b(99)
            b(121) = b(121) - lu(554) * b(99)
            b(125) = b(125) - lu(555) * b(99)
            b(131) = b(131) - lu(556) * b(99)
            b(134) = b(134) - lu(557) * b(99)
            b(117) = b(117) - lu(561) * b(100)
            b(121) = b(121) - lu(562) * b(100)
            b(124) = b(124) - lu(563) * b(100)
            b(126) = b(126) - lu(564) * b(100)
            b(130) = b(130) - lu(565) * b(100)
            b(131) = b(131) - lu(566) * b(100)
            b(132) = b(132) - lu(567) * b(100)
            b(133) = b(133) - lu(568) * b(100)
            b(134) = b(134) - lu(569) * b(100)
            b(103) = b(103) - lu(573) * b(101)
            b(107) = b(107) - lu(574) * b(101)
            b(110) = b(110) - lu(575) * b(101)
            b(113) = b(113) - lu(576) * b(101)
            b(125) = b(125) - lu(577) * b(101)
            b(129) = b(129) - lu(578) * b(101)
            b(130) = b(130) - lu(579) * b(101)
            b(131) = b(131) - lu(580) * b(101)
            b(132) = b(132) - lu(581) * b(101)
            b(134) = b(134) - lu(582) * b(101)
            b(135) = b(135) - lu(583) * b(101)
            b(103) = b(103) - lu(588) * b(102)
            b(104) = b(104) - lu(589) * b(102)
            b(105) = b(105) - lu(590) * b(102)
            b(109) = b(109) - lu(591) * b(102)
            b(119) = b(119) - lu(592) * b(102)
            b(120) = b(120) - lu(593) * b(102)
            b(123) = b(123) - lu(594) * b(102)
            b(125) = b(125) - lu(595) * b(102)
            b(129) = b(129) - lu(596) * b(102)
            b(130) = b(130) - lu(597) * b(102)
            b(131) = b(131) - lu(598) * b(102)
            b(132) = b(132) - lu(599) * b(102)
            b(134) = b(134) - lu(600) * b(102)
            b(135) = b(135) - lu(601) * b(102)
            b(125) = b(125) - lu(603) * b(103)
            b(127) = b(127) - lu(604) * b(103)
            b(131) = b(131) - lu(605) * b(103)
            b(115) = b(115) - lu(608) * b(104)
            b(119) = b(119) - lu(609) * b(104)
            b(125) = b(125) - lu(610) * b(104)
            b(127) = b(127) - lu(611) * b(104)
            b(131) = b(131) - lu(612) * b(104)
            b(132) = b(132) - lu(613) * b(104)
            b(133) = b(133) - lu(614) * b(104)
            b(134) = b(134) - lu(615) * b(104)
            b(109) = b(109) - lu(617) * b(105)
            b(115) = b(115) - lu(618) * b(105)
            b(125) = b(125) - lu(619) * b(105)
            b(131) = b(131) - lu(620) * b(105)
            b(135) = b(135) - lu(621) * b(105)
            b(109) = b(109) - lu(626) * b(106)
            b(115) = b(115) - lu(627) * b(106)
            b(119) = b(119) - lu(628) * b(106)
            b(120) = b(120) - lu(629) * b(106)
            b(125) = b(125) - lu(630) * b(106)
            b(129) = b(129) - lu(631) * b(106)
            b(130) = b(130) - lu(632) * b(106)
            b(131) = b(131) - lu(633) * b(106)
            b(134) = b(134) - lu(634) * b(106)
            b(135) = b(135) - lu(635) * b(106)
            b(109) = b(109) - lu(638) * b(107)
            b(112) = b(112) - lu(639) * b(107)
            b(114) = b(114) - lu(640) * b(107)
            b(115) = b(115) - lu(641) * b(107)
            b(123) = b(123) - lu(642) * b(107)
            b(125) = b(125) - lu(643) * b(107)
            b(127) = b(127) - lu(644) * b(107)
            b(131) = b(131) - lu(645) * b(107)
            b(134) = b(134) - lu(646) * b(107)
            b(135) = b(135) - lu(647) * b(107)
            b(117) = b(117) - lu(651) * b(108)
            b(119) = b(119) - lu(652) * b(108)
            b(121) = b(121) - lu(653) * b(108)
            b(122) = b(122) - lu(654) * b(108)
            b(126) = b(126) - lu(655) * b(108)
            b(127) = b(127) - lu(656) * b(108)
            b(131) = b(131) - lu(657) * b(108)
            b(132) = b(132) - lu(658) * b(108)
            b(133) = b(133) - lu(659) * b(108)
            b(134) = b(134) - lu(660) * b(108)
            b(115) = b(115) - lu(663) * b(109)
            b(125) = b(125) - lu(664) * b(109)
            b(127) = b(127) - lu(665) * b(109)
            b(131) = b(131) - lu(666) * b(109)
            b(132) = b(132) - lu(667) * b(109)
            b(133) = b(133) - lu(668) * b(109)
            b(134) = b(134) - lu(669) * b(109)
            b(115) = b(115) - lu(678) * b(110)
            b(119) = b(119) - lu(679) * b(110)
            b(125) = b(125) - lu(680) * b(110)
            b(127) = b(127) - lu(681) * b(110)
            b(129) = b(129) - lu(682) * b(110)
            b(130) = b(130) - lu(683) * b(110)
            b(131) = b(131) - lu(684) * b(110)
            b(132) = b(132) - lu(685) * b(110)
            b(133) = b(133) - lu(686) * b(110)
            b(134) = b(134) - lu(687) * b(110)
            b(135) = b(135) - lu(688) * b(110)
            b(112) = b(112) - lu(698) * b(111)
            b(113) = b(113) - lu(699) * b(111)
            b(114) = b(114) - lu(700) * b(111)
            b(115) = b(115) - lu(701) * b(111)
            b(119) = b(119) - lu(702) * b(111)
            b(123) = b(123) - lu(703) * b(111)
            b(125) = b(125) - lu(704) * b(111)
            b(127) = b(127) - lu(705) * b(111)
            b(129) = b(129) - lu(706) * b(111)
            b(130) = b(130) - lu(707) * b(111)
            b(131) = b(131) - lu(708) * b(111)
            b(132) = b(132) - lu(709) * b(111)
            b(133) = b(133) - lu(710) * b(111)
            b(134) = b(134) - lu(711) * b(111)
            b(135) = b(135) - lu(712) * b(111)
            b(114) = b(114) - lu(722) * b(112)
            b(115) = b(115) - lu(723) * b(112)
            b(119) = b(119) - lu(724) * b(112)
            b(125) = b(125) - lu(725) * b(112)
            b(127) = b(127) - lu(726) * b(112)
            b(129) = b(129) - lu(727) * b(112)
            b(130) = b(130) - lu(728) * b(112)
            b(131) = b(131) - lu(729) * b(112)
            b(132) = b(132) - lu(730) * b(112)
            b(133) = b(133) - lu(731) * b(112)
            b(134) = b(134) - lu(732) * b(112)
            b(135) = b(135) - lu(733) * b(112)
            b(114) = b(114) - lu(741) * b(113)
            b(115) = b(115) - lu(742) * b(113)
            b(119) = b(119) - lu(743) * b(113)
            b(120) = b(120) - lu(744) * b(113)
            b(123) = b(123) - lu(745) * b(113)
            b(125) = b(125) - lu(746) * b(113)
            b(127) = b(127) - lu(747) * b(113)
            b(129) = b(129) - lu(748) * b(113)
            b(130) = b(130) - lu(749) * b(113)
            b(131) = b(131) - lu(750) * b(113)
            b(132) = b(132) - lu(751) * b(113)
            b(133) = b(133) - lu(752) * b(113)
            b(134) = b(134) - lu(753) * b(113)
            b(135) = b(135) - lu(754) * b(113)
            b(115) = b(115) - lu(761) * b(114)
            b(119) = b(119) - lu(762) * b(114)
            b(120) = b(120) - lu(763) * b(114)
            b(123) = b(123) - lu(764) * b(114)
            b(125) = b(125) - lu(765) * b(114)
            b(127) = b(127) - lu(766) * b(114)
            b(129) = b(129) - lu(767) * b(114)
            b(130) = b(130) - lu(768) * b(114)
            b(131) = b(131) - lu(769) * b(114)
            b(132) = b(132) - lu(770) * b(114)
            b(133) = b(133) - lu(771) * b(114)
            b(134) = b(134) - lu(772) * b(114)
            b(135) = b(135) - lu(773) * b(114)
            b(119) = b(119) - lu(790) * b(115)
            b(120) = b(120) - lu(791) * b(115)
            b(123) = b(123) - lu(792) * b(115)
            b(125) = b(125) - lu(793) * b(115)
            b(127) = b(127) - lu(794) * b(115)
            b(129) = b(129) - lu(795) * b(115)
            b(130) = b(130) - lu(796) * b(115)
            b(131) = b(131) - lu(797) * b(115)
            b(132) = b(132) - lu(798) * b(115)
            b(133) = b(133) - lu(799) * b(115)
            b(134) = b(134) - lu(800) * b(115)
            b(135) = b(135) - lu(801) * b(115)
            b(118) = b(118) - lu(806) * b(116)
            b(120) = b(120) - lu(807) * b(116)
            b(121) = b(121) - lu(808) * b(116)
            b(123) = b(123) - lu(809) * b(116)
            b(124) = b(124) - lu(810) * b(116)
            b(125) = b(125) - lu(811) * b(116)
            b(126) = b(126) - lu(812) * b(116)
            b(127) = b(127) - lu(813) * b(116)
            b(128) = b(128) - lu(814) * b(116)
            b(129) = b(129) - lu(815) * b(116)
            b(130) = b(130) - lu(816) * b(116)
            b(131) = b(131) - lu(817) * b(116)
            b(134) = b(134) - lu(818) * b(116)
            b(118) = b(118) - lu(825) * b(117)
            b(121) = b(121) - lu(826) * b(117)
            b(122) = b(122) - lu(827) * b(117)
            b(124) = b(124) - lu(828) * b(117)
            b(126) = b(126) - lu(829) * b(117)
            b(127) = b(127) - lu(830) * b(117)
            b(128) = b(128) - lu(831) * b(117)
            b(130) = b(130) - lu(832) * b(117)
            b(131) = b(131) - lu(833) * b(117)
            b(132) = b(132) - lu(834) * b(117)
            b(133) = b(133) - lu(835) * b(117)
            b(134) = b(134) - lu(836) * b(117)
            b(120) = b(120) - lu(840) * b(118)
            b(121) = b(121) - lu(841) * b(118)
            b(122) = b(122) - lu(842) * b(118)
            b(123) = b(123) - lu(843) * b(118)
            b(125) = b(125) - lu(844) * b(118)
            b(127) = b(127) - lu(845) * b(118)
            b(128) = b(128) - lu(846) * b(118)
            b(131) = b(131) - lu(847) * b(118)
            b(134) = b(134) - lu(848) * b(118)
            b(135) = b(135) - lu(849) * b(118)
        END SUBROUTINE lu_slv03

        SUBROUTINE lu_slv04(lu, b)
            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
            IMPLICIT NONE
            !-----------------------------------------------------------------------
            ! ... Dummy args
            !-----------------------------------------------------------------------
            REAL(KIND=r8), intent(in) :: lu(:)
            REAL(KIND=r8), intent(inout) :: b(:)
            !-----------------------------------------------------------------------
            ! ... Local variables
            !-----------------------------------------------------------------------
            !-----------------------------------------------------------------------
            ! ... solve L * y = b
            !-----------------------------------------------------------------------
            b(120) = b(120) - lu(873) * b(119)
            b(123) = b(123) - lu(874) * b(119)
            b(124) = b(124) - lu(875) * b(119)
            b(125) = b(125) - lu(876) * b(119)
            b(126) = b(126) - lu(877) * b(119)
            b(127) = b(127) - lu(878) * b(119)
            b(129) = b(129) - lu(879) * b(119)
            b(130) = b(130) - lu(880) * b(119)
            b(131) = b(131) - lu(881) * b(119)
            b(132) = b(132) - lu(882) * b(119)
            b(133) = b(133) - lu(883) * b(119)
            b(134) = b(134) - lu(884) * b(119)
            b(135) = b(135) - lu(885) * b(119)
            b(121) = b(121) - lu(904) * b(120)
            b(122) = b(122) - lu(905) * b(120)
            b(123) = b(123) - lu(906) * b(120)
            b(124) = b(124) - lu(907) * b(120)
            b(125) = b(125) - lu(908) * b(120)
            b(126) = b(126) - lu(909) * b(120)
            b(127) = b(127) - lu(910) * b(120)
            b(128) = b(128) - lu(911) * b(120)
            b(129) = b(129) - lu(912) * b(120)
            b(130) = b(130) - lu(913) * b(120)
            b(131) = b(131) - lu(914) * b(120)
            b(134) = b(134) - lu(915) * b(120)
            b(135) = b(135) - lu(916) * b(120)
            b(122) = b(122) - lu(944) * b(121)
            b(123) = b(123) - lu(945) * b(121)
            b(124) = b(124) - lu(946) * b(121)
            b(125) = b(125) - lu(947) * b(121)
            b(126) = b(126) - lu(948) * b(121)
            b(127) = b(127) - lu(949) * b(121)
            b(128) = b(128) - lu(950) * b(121)
            b(129) = b(129) - lu(951) * b(121)
            b(130) = b(130) - lu(952) * b(121)
            b(131) = b(131) - lu(953) * b(121)
            b(132) = b(132) - lu(954) * b(121)
            b(133) = b(133) - lu(955) * b(121)
            b(134) = b(134) - lu(956) * b(121)
            b(135) = b(135) - lu(957) * b(121)
            b(123) = b(123) - lu(971) * b(122)
            b(124) = b(124) - lu(972) * b(122)
            b(125) = b(125) - lu(973) * b(122)
            b(126) = b(126) - lu(974) * b(122)
            b(127) = b(127) - lu(975) * b(122)
            b(128) = b(128) - lu(976) * b(122)
            b(129) = b(129) - lu(977) * b(122)
            b(130) = b(130) - lu(978) * b(122)
            b(131) = b(131) - lu(979) * b(122)
            b(132) = b(132) - lu(980) * b(122)
            b(133) = b(133) - lu(981) * b(122)
            b(134) = b(134) - lu(982) * b(122)
            b(135) = b(135) - lu(983) * b(122)
            b(124) = b(124) - lu(1017) * b(123)
            b(125) = b(125) - lu(1018) * b(123)
            b(126) = b(126) - lu(1019) * b(123)
            b(127) = b(127) - lu(1020) * b(123)
            b(128) = b(128) - lu(1021) * b(123)
            b(129) = b(129) - lu(1022) * b(123)
            b(130) = b(130) - lu(1023) * b(123)
            b(131) = b(131) - lu(1024) * b(123)
            b(132) = b(132) - lu(1025) * b(123)
            b(133) = b(133) - lu(1026) * b(123)
            b(134) = b(134) - lu(1027) * b(123)
            b(135) = b(135) - lu(1028) * b(123)
            b(125) = b(125) - lu(1045) * b(124)
            b(126) = b(126) - lu(1046) * b(124)
            b(127) = b(127) - lu(1047) * b(124)
            b(128) = b(128) - lu(1048) * b(124)
            b(129) = b(129) - lu(1049) * b(124)
            b(130) = b(130) - lu(1050) * b(124)
            b(131) = b(131) - lu(1051) * b(124)
            b(132) = b(132) - lu(1052) * b(124)
            b(133) = b(133) - lu(1053) * b(124)
            b(134) = b(134) - lu(1054) * b(124)
            b(135) = b(135) - lu(1055) * b(124)
            b(126) = b(126) - lu(1115) * b(125)
            b(127) = b(127) - lu(1116) * b(125)
            b(128) = b(128) - lu(1117) * b(125)
            b(129) = b(129) - lu(1118) * b(125)
            b(130) = b(130) - lu(1119) * b(125)
            b(131) = b(131) - lu(1120) * b(125)
            b(132) = b(132) - lu(1121) * b(125)
            b(133) = b(133) - lu(1122) * b(125)
            b(134) = b(134) - lu(1123) * b(125)
            b(135) = b(135) - lu(1124) * b(125)
            b(127) = b(127) - lu(1151) * b(126)
            b(128) = b(128) - lu(1152) * b(126)
            b(129) = b(129) - lu(1153) * b(126)
            b(130) = b(130) - lu(1154) * b(126)
            b(131) = b(131) - lu(1155) * b(126)
            b(132) = b(132) - lu(1156) * b(126)
            b(133) = b(133) - lu(1157) * b(126)
            b(134) = b(134) - lu(1158) * b(126)
            b(135) = b(135) - lu(1159) * b(126)
            b(128) = b(128) - lu(1172) * b(127)
            b(129) = b(129) - lu(1173) * b(127)
            b(130) = b(130) - lu(1174) * b(127)
            b(131) = b(131) - lu(1175) * b(127)
            b(132) = b(132) - lu(1176) * b(127)
            b(133) = b(133) - lu(1177) * b(127)
            b(134) = b(134) - lu(1178) * b(127)
            b(135) = b(135) - lu(1179) * b(127)
            b(129) = b(129) - lu(1197) * b(128)
            b(130) = b(130) - lu(1198) * b(128)
            b(131) = b(131) - lu(1199) * b(128)
            b(132) = b(132) - lu(1200) * b(128)
            b(133) = b(133) - lu(1201) * b(128)
            b(134) = b(134) - lu(1202) * b(128)
            b(135) = b(135) - lu(1203) * b(128)
            b(130) = b(130) - lu(1253) * b(129)
            b(131) = b(131) - lu(1254) * b(129)
            b(132) = b(132) - lu(1255) * b(129)
            b(133) = b(133) - lu(1256) * b(129)
            b(134) = b(134) - lu(1257) * b(129)
            b(135) = b(135) - lu(1258) * b(129)
            b(131) = b(131) - lu(1291) * b(130)
            b(132) = b(132) - lu(1292) * b(130)
            b(133) = b(133) - lu(1293) * b(130)
            b(134) = b(134) - lu(1294) * b(130)
            b(135) = b(135) - lu(1295) * b(130)
            b(132) = b(132) - lu(1390) * b(131)
            b(133) = b(133) - lu(1391) * b(131)
            b(134) = b(134) - lu(1392) * b(131)
            b(135) = b(135) - lu(1393) * b(131)
            b(133) = b(133) - lu(1435) * b(132)
            b(134) = b(134) - lu(1436) * b(132)
            b(135) = b(135) - lu(1437) * b(132)
            b(134) = b(134) - lu(1458) * b(133)
            b(135) = b(135) - lu(1459) * b(133)
            b(135) = b(135) - lu(1485) * b(134)
        END SUBROUTINE lu_slv04

        SUBROUTINE lu_slv05(lu, b)
            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
            IMPLICIT NONE
            !-----------------------------------------------------------------------
            ! ... Dummy args
            !-----------------------------------------------------------------------
            REAL(KIND=r8), intent(in) :: lu(:)
            REAL(KIND=r8), intent(inout) :: b(:)
            !-----------------------------------------------------------------------
            ! ... Local variables
            !-----------------------------------------------------------------------
            !-----------------------------------------------------------------------
            ! ... solve L * y = b
            !-----------------------------------------------------------------------
            !-----------------------------------------------------------------------
            ! ... Solve U * x = y
            !-----------------------------------------------------------------------
            b(135) = b(135) * lu(1509)
            b(134) = b(134) - lu(1508) * b(135)
            b(133) = b(133) - lu(1507) * b(135)
            b(132) = b(132) - lu(1506) * b(135)
            b(131) = b(131) - lu(1505) * b(135)
            b(130) = b(130) - lu(1504) * b(135)
            b(129) = b(129) - lu(1503) * b(135)
            b(128) = b(128) - lu(1502) * b(135)
            b(127) = b(127) - lu(1501) * b(135)
            b(126) = b(126) - lu(1500) * b(135)
            b(125) = b(125) - lu(1499) * b(135)
            b(124) = b(124) - lu(1498) * b(135)
            b(123) = b(123) - lu(1497) * b(135)
            b(122) = b(122) - lu(1496) * b(135)
            b(121) = b(121) - lu(1495) * b(135)
            b(120) = b(120) - lu(1494) * b(135)
            b(119) = b(119) - lu(1493) * b(135)
            b(118) = b(118) - lu(1492) * b(135)
            b(117) = b(117) - lu(1491) * b(135)
            b(108) = b(108) - lu(1490) * b(135)
            b(103) = b(103) - lu(1489) * b(135)
            b(90) = b(90) - lu(1488) * b(135)
            b(64) = b(64) - lu(1487) * b(135)
            b(54) = b(54) - lu(1486) * b(135)
            b(134) = b(134) * lu(1484)
            b(133) = b(133) - lu(1483) * b(134)
            b(132) = b(132) - lu(1482) * b(134)
            b(131) = b(131) - lu(1481) * b(134)
            b(130) = b(130) - lu(1480) * b(134)
            b(129) = b(129) - lu(1479) * b(134)
            b(128) = b(128) - lu(1478) * b(134)
            b(127) = b(127) - lu(1477) * b(134)
            b(126) = b(126) - lu(1476) * b(134)
            b(125) = b(125) - lu(1475) * b(134)
            b(124) = b(124) - lu(1474) * b(134)
            b(123) = b(123) - lu(1473) * b(134)
            b(122) = b(122) - lu(1472) * b(134)
            b(121) = b(121) - lu(1471) * b(134)
            b(120) = b(120) - lu(1470) * b(134)
            b(119) = b(119) - lu(1469) * b(134)
            b(118) = b(118) - lu(1468) * b(134)
            b(117) = b(117) - lu(1467) * b(134)
            b(116) = b(116) - lu(1466) * b(134)
            b(108) = b(108) - lu(1465) * b(134)
            b(99) = b(99) - lu(1464) * b(134)
            b(88) = b(88) - lu(1463) * b(134)
            b(36) = b(36) - lu(1462) * b(134)
            b(34) = b(34) - lu(1461) * b(134)
            b(26) = b(26) - lu(1460) * b(134)
            b(133) = b(133) * lu(1457)
            b(132) = b(132) - lu(1456) * b(133)
            b(131) = b(131) - lu(1455) * b(133)
            b(130) = b(130) - lu(1454) * b(133)
            b(129) = b(129) - lu(1453) * b(133)
            b(128) = b(128) - lu(1452) * b(133)
            b(127) = b(127) - lu(1451) * b(133)
            b(126) = b(126) - lu(1450) * b(133)
            b(125) = b(125) - lu(1449) * b(133)
            b(124) = b(124) - lu(1448) * b(133)
            b(123) = b(123) - lu(1447) * b(133)
            b(122) = b(122) - lu(1446) * b(133)
            b(121) = b(121) - lu(1445) * b(133)
            b(120) = b(120) - lu(1444) * b(133)
            b(119) = b(119) - lu(1443) * b(133)
            b(118) = b(118) - lu(1442) * b(133)
            b(117) = b(117) - lu(1441) * b(133)
            b(108) = b(108) - lu(1440) * b(133)
            b(88) = b(88) - lu(1439) * b(133)
            b(34) = b(34) - lu(1438) * b(133)
            b(132) = b(132) * lu(1434)
            b(131) = b(131) - lu(1433) * b(132)
            b(130) = b(130) - lu(1432) * b(132)
            b(129) = b(129) - lu(1431) * b(132)
            b(128) = b(128) - lu(1430) * b(132)
            b(127) = b(127) - lu(1429) * b(132)
            b(126) = b(126) - lu(1428) * b(132)
            b(125) = b(125) - lu(1427) * b(132)
            b(124) = b(124) - lu(1426) * b(132)
            b(123) = b(123) - lu(1425) * b(132)
            b(122) = b(122) - lu(1424) * b(132)
            b(121) = b(121) - lu(1423) * b(132)
            b(120) = b(120) - lu(1422) * b(132)
            b(119) = b(119) - lu(1421) * b(132)
            b(118) = b(118) - lu(1420) * b(132)
            b(116) = b(116) - lu(1419) * b(132)
            b(115) = b(115) - lu(1418) * b(132)
            b(114) = b(114) - lu(1417) * b(132)
            b(113) = b(113) - lu(1416) * b(132)
            b(112) = b(112) - lu(1415) * b(132)
            b(111) = b(111) - lu(1414) * b(132)
            b(110) = b(110) - lu(1413) * b(132)
            b(109) = b(109) - lu(1412) * b(132)
            b(107) = b(107) - lu(1411) * b(132)
            b(106) = b(106) - lu(1410) * b(132)
            b(105) = b(105) - lu(1409) * b(132)
            b(104) = b(104) - lu(1408) * b(132)
            b(103) = b(103) - lu(1407) * b(132)
            b(102) = b(102) - lu(1406) * b(132)
            b(101) = b(101) - lu(1405) * b(132)
            b(99) = b(99) - lu(1404) * b(132)
            b(98) = b(98) - lu(1403) * b(132)
            b(97) = b(97) - lu(1402) * b(132)
            b(95) = b(95) - lu(1401) * b(132)
            b(94) = b(94) - lu(1400) * b(132)
            b(81) = b(81) - lu(1399) * b(132)
            b(73) = b(73) - lu(1398) * b(132)
            b(49) = b(49) - lu(1397) * b(132)
            b(47) = b(47) - lu(1396) * b(132)
            b(40) = b(40) - lu(1395) * b(132)
            b(39) = b(39) - lu(1394) * b(132)
            b(131) = b(131) * lu(1389)
            b(130) = b(130) - lu(1388) * b(131)
            b(129) = b(129) - lu(1387) * b(131)
            b(128) = b(128) - lu(1386) * b(131)
            b(127) = b(127) - lu(1385) * b(131)
            b(126) = b(126) - lu(1384) * b(131)
            b(125) = b(125) - lu(1383) * b(131)
            b(124) = b(124) - lu(1382) * b(131)
            b(123) = b(123) - lu(1381) * b(131)
            b(122) = b(122) - lu(1380) * b(131)
            b(121) = b(121) - lu(1379) * b(131)
            b(120) = b(120) - lu(1378) * b(131)
            b(119) = b(119) - lu(1377) * b(131)
            b(118) = b(118) - lu(1376) * b(131)
            b(117) = b(117) - lu(1375) * b(131)
            b(116) = b(116) - lu(1374) * b(131)
            b(115) = b(115) - lu(1373) * b(131)
            b(114) = b(114) - lu(1372) * b(131)
            b(113) = b(113) - lu(1371) * b(131)
            b(112) = b(112) - lu(1370) * b(131)
            b(111) = b(111) - lu(1369) * b(131)
            b(110) = b(110) - lu(1368) * b(131)
            b(109) = b(109) - lu(1367) * b(131)
            b(108) = b(108) - lu(1366) * b(131)
            b(107) = b(107) - lu(1365) * b(131)
            b(106) = b(106) - lu(1364) * b(131)
            b(105) = b(105) - lu(1363) * b(131)
            b(104) = b(104) - lu(1362) * b(131)
            b(103) = b(103) - lu(1361) * b(131)
            b(102) = b(102) - lu(1360) * b(131)
            b(101) = b(101) - lu(1359) * b(131)
            b(100) = b(100) - lu(1358) * b(131)
            b(99) = b(99) - lu(1357) * b(131)
            b(98) = b(98) - lu(1356) * b(131)
            b(97) = b(97) - lu(1355) * b(131)
            b(96) = b(96) - lu(1354) * b(131)
            b(95) = b(95) - lu(1353) * b(131)
            b(94) = b(94) - lu(1352) * b(131)
            b(93) = b(93) - lu(1351) * b(131)
            b(92) = b(92) - lu(1350) * b(131)
            b(91) = b(91) - lu(1349) * b(131)
            b(90) = b(90) - lu(1348) * b(131)
            b(89) = b(89) - lu(1347) * b(131)
            b(88) = b(88) - lu(1346) * b(131)
            b(83) = b(83) - lu(1345) * b(131)
            b(82) = b(82) - lu(1344) * b(131)
            b(81) = b(81) - lu(1343) * b(131)
            b(80) = b(80) - lu(1342) * b(131)
            b(79) = b(79) - lu(1341) * b(131)
            b(77) = b(77) - lu(1340) * b(131)
            b(76) = b(76) - lu(1339) * b(131)
            b(75) = b(75) - lu(1338) * b(131)
            b(74) = b(74) - lu(1337) * b(131)
            b(73) = b(73) - lu(1336) * b(131)
            b(71) = b(71) - lu(1335) * b(131)
            b(69) = b(69) - lu(1334) * b(131)
            b(68) = b(68) - lu(1333) * b(131)
            b(67) = b(67) - lu(1332) * b(131)
            b(66) = b(66) - lu(1331) * b(131)
            b(65) = b(65) - lu(1330) * b(131)
            b(64) = b(64) - lu(1329) * b(131)
            b(63) = b(63) - lu(1328) * b(131)
            b(62) = b(62) - lu(1327) * b(131)
            b(60) = b(60) - lu(1326) * b(131)
            b(59) = b(59) - lu(1325) * b(131)
            b(57) = b(57) - lu(1324) * b(131)
            b(55) = b(55) - lu(1323) * b(131)
            b(53) = b(53) - lu(1322) * b(131)
            b(52) = b(52) - lu(1321) * b(131)
            b(51) = b(51) - lu(1320) * b(131)
            b(50) = b(50) - lu(1319) * b(131)
            b(49) = b(49) - lu(1318) * b(131)
            b(48) = b(48) - lu(1317) * b(131)
            b(47) = b(47) - lu(1316) * b(131)
            b(45) = b(45) - lu(1315) * b(131)
            b(44) = b(44) - lu(1314) * b(131)
            b(43) = b(43) - lu(1313) * b(131)
            b(42) = b(42) - lu(1312) * b(131)
            b(41) = b(41) - lu(1311) * b(131)
            b(39) = b(39) - lu(1310) * b(131)
            b(38) = b(38) - lu(1309) * b(131)
            b(37) = b(37) - lu(1308) * b(131)
            b(36) = b(36) - lu(1307) * b(131)
            b(35) = b(35) - lu(1306) * b(131)
            b(32) = b(32) - lu(1305) * b(131)
            b(31) = b(31) - lu(1304) * b(131)
            b(30) = b(30) - lu(1303) * b(131)
            b(25) = b(25) - lu(1302) * b(131)
            b(23) = b(23) - lu(1301) * b(131)
            b(22) = b(22) - lu(1300) * b(131)
            b(21) = b(21) - lu(1299) * b(131)
            b(20) = b(20) - lu(1298) * b(131)
            b(19) = b(19) - lu(1297) * b(131)
            b(17) = b(17) - lu(1296) * b(131)
        END SUBROUTINE lu_slv05

        SUBROUTINE lu_slv06(lu, b)
            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
            IMPLICIT NONE
            !-----------------------------------------------------------------------
            ! ... Dummy args
            !-----------------------------------------------------------------------
            REAL(KIND=r8), intent(in) :: lu(:)
            REAL(KIND=r8), intent(inout) :: b(:)
            !-----------------------------------------------------------------------
            ! ... Local variables
            !-----------------------------------------------------------------------
            !-----------------------------------------------------------------------
            ! ... solve L * y = b
            !-----------------------------------------------------------------------
            b(130) = b(130) * lu(1290)
            b(129) = b(129) - lu(1289) * b(130)
            b(128) = b(128) - lu(1288) * b(130)
            b(127) = b(127) - lu(1287) * b(130)
            b(126) = b(126) - lu(1286) * b(130)
            b(125) = b(125) - lu(1285) * b(130)
            b(124) = b(124) - lu(1284) * b(130)
            b(123) = b(123) - lu(1283) * b(130)
            b(122) = b(122) - lu(1282) * b(130)
            b(121) = b(121) - lu(1281) * b(130)
            b(120) = b(120) - lu(1280) * b(130)
            b(119) = b(119) - lu(1279) * b(130)
            b(118) = b(118) - lu(1278) * b(130)
            b(117) = b(117) - lu(1277) * b(130)
            b(116) = b(116) - lu(1276) * b(130)
            b(115) = b(115) - lu(1275) * b(130)
            b(114) = b(114) - lu(1274) * b(130)
            b(109) = b(109) - lu(1273) * b(130)
            b(105) = b(105) - lu(1272) * b(130)
            b(103) = b(103) - lu(1271) * b(130)
            b(100) = b(100) - lu(1270) * b(130)
            b(99) = b(99) - lu(1269) * b(130)
            b(92) = b(92) - lu(1268) * b(130)
            b(84) = b(84) - lu(1267) * b(130)
            b(81) = b(81) - lu(1266) * b(130)
            b(71) = b(71) - lu(1265) * b(130)
            b(70) = b(70) - lu(1264) * b(130)
            b(66) = b(66) - lu(1263) * b(130)
            b(60) = b(60) - lu(1262) * b(130)
            b(57) = b(57) - lu(1261) * b(130)
            b(40) = b(40) - lu(1260) * b(130)
            b(31) = b(31) - lu(1259) * b(130)
            b(129) = b(129) * lu(1252)
            b(128) = b(128) - lu(1251) * b(129)
            b(127) = b(127) - lu(1250) * b(129)
            b(126) = b(126) - lu(1249) * b(129)
            b(125) = b(125) - lu(1248) * b(129)
            b(124) = b(124) - lu(1247) * b(129)
            b(123) = b(123) - lu(1246) * b(129)
            b(122) = b(122) - lu(1245) * b(129)
            b(121) = b(121) - lu(1244) * b(129)
            b(120) = b(120) - lu(1243) * b(129)
            b(119) = b(119) - lu(1242) * b(129)
            b(118) = b(118) - lu(1241) * b(129)
            b(115) = b(115) - lu(1240) * b(129)
            b(114) = b(114) - lu(1239) * b(129)
            b(113) = b(113) - lu(1238) * b(129)
            b(112) = b(112) - lu(1237) * b(129)
            b(111) = b(111) - lu(1236) * b(129)
            b(110) = b(110) - lu(1235) * b(129)
            b(109) = b(109) - lu(1234) * b(129)
            b(107) = b(107) - lu(1233) * b(129)
            b(106) = b(106) - lu(1232) * b(129)
            b(105) = b(105) - lu(1231) * b(129)
            b(104) = b(104) - lu(1230) * b(129)
            b(103) = b(103) - lu(1229) * b(129)
            b(101) = b(101) - lu(1228) * b(129)
            b(98) = b(98) - lu(1227) * b(129)
            b(97) = b(97) - lu(1226) * b(129)
            b(96) = b(96) - lu(1225) * b(129)
            b(95) = b(95) - lu(1224) * b(129)
            b(92) = b(92) - lu(1223) * b(129)
            b(91) = b(91) - lu(1222) * b(129)
            b(89) = b(89) - lu(1221) * b(129)
            b(87) = b(87) - lu(1220) * b(129)
            b(86) = b(86) - lu(1219) * b(129)
            b(85) = b(85) - lu(1218) * b(129)
            b(83) = b(83) - lu(1217) * b(129)
            b(81) = b(81) - lu(1216) * b(129)
            b(80) = b(80) - lu(1215) * b(129)
            b(79) = b(79) - lu(1214) * b(129)
            b(77) = b(77) - lu(1213) * b(129)
            b(66) = b(66) - lu(1212) * b(129)
            b(65) = b(65) - lu(1211) * b(129)
            b(64) = b(64) - lu(1210) * b(129)
            b(56) = b(56) - lu(1209) * b(129)
            b(55) = b(55) - lu(1208) * b(129)
            b(54) = b(54) - lu(1207) * b(129)
            b(49) = b(49) - lu(1206) * b(129)
            b(47) = b(47) - lu(1205) * b(129)
            b(41) = b(41) - lu(1204) * b(129)
            b(128) = b(128) * lu(1196)
            b(127) = b(127) - lu(1195) * b(128)
            b(126) = b(126) - lu(1194) * b(128)
            b(125) = b(125) - lu(1193) * b(128)
            b(124) = b(124) - lu(1192) * b(128)
            b(123) = b(123) - lu(1191) * b(128)
            b(122) = b(122) - lu(1190) * b(128)
            b(121) = b(121) - lu(1189) * b(128)
            b(120) = b(120) - lu(1188) * b(128)
            b(118) = b(118) - lu(1187) * b(128)
            b(117) = b(117) - lu(1186) * b(128)
            b(116) = b(116) - lu(1185) * b(128)
            b(99) = b(99) - lu(1184) * b(128)
            b(84) = b(84) - lu(1183) * b(128)
            b(70) = b(70) - lu(1182) * b(128)
            b(46) = b(46) - lu(1181) * b(128)
            b(33) = b(33) - lu(1180) * b(128)
            b(127) = b(127) * lu(1171)
            b(126) = b(126) - lu(1170) * b(127)
            b(125) = b(125) - lu(1169) * b(127)
            b(124) = b(124) - lu(1168) * b(127)
            b(123) = b(123) - lu(1167) * b(127)
            b(122) = b(122) - lu(1166) * b(127)
            b(121) = b(121) - lu(1165) * b(127)
            b(120) = b(120) - lu(1164) * b(127)
            b(119) = b(119) - lu(1163) * b(127)
            b(118) = b(118) - lu(1162) * b(127)
            b(117) = b(117) - lu(1161) * b(127)
            b(108) = b(108) - lu(1160) * b(127)
            b(126) = b(126) * lu(1150)
            b(125) = b(125) - lu(1149) * b(126)
            b(124) = b(124) - lu(1148) * b(126)
            b(123) = b(123) - lu(1147) * b(126)
            b(122) = b(122) - lu(1146) * b(126)
            b(121) = b(121) - lu(1145) * b(126)
            b(120) = b(120) - lu(1144) * b(126)
            b(119) = b(119) - lu(1143) * b(126)
            b(118) = b(118) - lu(1142) * b(126)
            b(117) = b(117) - lu(1141) * b(126)
            b(115) = b(115) - lu(1140) * b(126)
            b(108) = b(108) - lu(1139) * b(126)
            b(104) = b(104) - lu(1138) * b(126)
            b(103) = b(103) - lu(1137) * b(126)
            b(100) = b(100) - lu(1136) * b(126)
            b(95) = b(95) - lu(1135) * b(126)
            b(93) = b(93) - lu(1134) * b(126)
            b(91) = b(91) - lu(1133) * b(126)
            b(83) = b(83) - lu(1132) * b(126)
            b(81) = b(81) - lu(1131) * b(126)
            b(74) = b(74) - lu(1130) * b(126)
            b(64) = b(64) - lu(1129) * b(126)
            b(63) = b(63) - lu(1128) * b(126)
            b(38) = b(38) - lu(1127) * b(126)
            b(37) = b(37) - lu(1126) * b(126)
            b(29) = b(29) - lu(1125) * b(126)
            b(125) = b(125) * lu(1114)
            b(124) = b(124) - lu(1113) * b(125)
            b(123) = b(123) - lu(1112) * b(125)
            b(122) = b(122) - lu(1111) * b(125)
            b(121) = b(121) - lu(1110) * b(125)
            b(120) = b(120) - lu(1109) * b(125)
            b(119) = b(119) - lu(1108) * b(125)
            b(118) = b(118) - lu(1107) * b(125)
            b(117) = b(117) - lu(1106) * b(125)
            b(115) = b(115) - lu(1105) * b(125)
            b(114) = b(114) - lu(1104) * b(125)
            b(113) = b(113) - lu(1103) * b(125)
            b(112) = b(112) - lu(1102) * b(125)
            b(111) = b(111) - lu(1101) * b(125)
            b(110) = b(110) - lu(1100) * b(125)
            b(109) = b(109) - lu(1099) * b(125)
            b(108) = b(108) - lu(1098) * b(125)
            b(107) = b(107) - lu(1097) * b(125)
            b(106) = b(106) - lu(1096) * b(125)
            b(105) = b(105) - lu(1095) * b(125)
            b(104) = b(104) - lu(1094) * b(125)
            b(103) = b(103) - lu(1093) * b(125)
            b(101) = b(101) - lu(1092) * b(125)
            b(98) = b(98) - lu(1091) * b(125)
            b(97) = b(97) - lu(1090) * b(125)
            b(96) = b(96) - lu(1089) * b(125)
            b(95) = b(95) - lu(1088) * b(125)
            b(93) = b(93) - lu(1087) * b(125)
            b(91) = b(91) - lu(1086) * b(125)
            b(90) = b(90) - lu(1085) * b(125)
            b(89) = b(89) - lu(1084) * b(125)
            b(84) = b(84) - lu(1083) * b(125)
            b(83) = b(83) - lu(1082) * b(125)
            b(81) = b(81) - lu(1081) * b(125)
            b(80) = b(80) - lu(1080) * b(125)
            b(79) = b(79) - lu(1079) * b(125)
            b(77) = b(77) - lu(1078) * b(125)
            b(76) = b(76) - lu(1077) * b(125)
            b(75) = b(75) - lu(1076) * b(125)
            b(74) = b(74) - lu(1075) * b(125)
            b(69) = b(69) - lu(1074) * b(125)
            b(67) = b(67) - lu(1073) * b(125)
            b(66) = b(66) - lu(1072) * b(125)
            b(65) = b(65) - lu(1071) * b(125)
            b(64) = b(64) - lu(1070) * b(125)
            b(62) = b(62) - lu(1069) * b(125)
            b(60) = b(60) - lu(1068) * b(125)
            b(59) = b(59) - lu(1067) * b(125)
            b(56) = b(56) - lu(1066) * b(125)
            b(54) = b(54) - lu(1065) * b(125)
            b(53) = b(53) - lu(1064) * b(125)
            b(52) = b(52) - lu(1063) * b(125)
            b(51) = b(51) - lu(1062) * b(125)
            b(50) = b(50) - lu(1061) * b(125)
            b(45) = b(45) - lu(1060) * b(125)
            b(44) = b(44) - lu(1059) * b(125)
            b(43) = b(43) - lu(1058) * b(125)
            b(42) = b(42) - lu(1057) * b(125)
            b(24) = b(24) - lu(1056) * b(125)
            b(124) = b(124) * lu(1044)
            b(123) = b(123) - lu(1043) * b(124)
            b(122) = b(122) - lu(1042) * b(124)
            b(121) = b(121) - lu(1041) * b(124)
            b(120) = b(120) - lu(1040) * b(124)
            b(119) = b(119) - lu(1039) * b(124)
            b(118) = b(118) - lu(1038) * b(124)
            b(117) = b(117) - lu(1037) * b(124)
            b(116) = b(116) - lu(1036) * b(124)
            b(100) = b(100) - lu(1035) * b(124)
            b(99) = b(99) - lu(1034) * b(124)
            b(93) = b(93) - lu(1033) * b(124)
            b(46) = b(46) - lu(1032) * b(124)
            b(33) = b(33) - lu(1031) * b(124)
            b(29) = b(29) - lu(1030) * b(124)
            b(18) = b(18) - lu(1029) * b(124)
        END SUBROUTINE lu_slv06

        SUBROUTINE lu_slv07(lu, b)
            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
            IMPLICIT NONE
            !-----------------------------------------------------------------------
            ! ... Dummy args
            !-----------------------------------------------------------------------
            REAL(KIND=r8), intent(in) :: lu(:)
            REAL(KIND=r8), intent(inout) :: b(:)
            !-----------------------------------------------------------------------
            ! ... Local variables
            !-----------------------------------------------------------------------
            !-----------------------------------------------------------------------
            ! ... solve L * y = b
            !-----------------------------------------------------------------------
            b(123) = b(123) * lu(1016)
            b(122) = b(122) - lu(1015) * b(123)
            b(121) = b(121) - lu(1014) * b(123)
            b(120) = b(120) - lu(1013) * b(123)
            b(119) = b(119) - lu(1012) * b(123)
            b(118) = b(118) - lu(1011) * b(123)
            b(116) = b(116) - lu(1010) * b(123)
            b(115) = b(115) - lu(1009) * b(123)
            b(114) = b(114) - lu(1008) * b(123)
            b(113) = b(113) - lu(1007) * b(123)
            b(112) = b(112) - lu(1006) * b(123)
            b(111) = b(111) - lu(1005) * b(123)
            b(110) = b(110) - lu(1004) * b(123)
            b(109) = b(109) - lu(1003) * b(123)
            b(107) = b(107) - lu(1002) * b(123)
            b(106) = b(106) - lu(1001) * b(123)
            b(105) = b(105) - lu(1000) * b(123)
            b(104) = b(104) - lu(999) * b(123)
            b(103) = b(103) - lu(998) * b(123)
            b(102) = b(102) - lu(997) * b(123)
            b(101) = b(101) - lu(996) * b(123)
            b(99) = b(99) - lu(995) * b(123)
            b(98) = b(98) - lu(994) * b(123)
            b(95) = b(95) - lu(993) * b(123)
            b(94) = b(94) - lu(992) * b(123)
            b(83) = b(83) - lu(991) * b(123)
            b(82) = b(82) - lu(990) * b(123)
            b(75) = b(75) - lu(989) * b(123)
            b(73) = b(73) - lu(988) * b(123)
            b(64) = b(64) - lu(987) * b(123)
            b(63) = b(63) - lu(986) * b(123)
            b(28) = b(28) - lu(985) * b(123)
            b(27) = b(27) - lu(984) * b(123)
            b(122) = b(122) * lu(970)
            b(121) = b(121) - lu(969) * b(122)
            b(120) = b(120) - lu(968) * b(122)
            b(119) = b(119) - lu(967) * b(122)
            b(118) = b(118) - lu(966) * b(122)
            b(117) = b(117) - lu(965) * b(122)
            b(108) = b(108) - lu(964) * b(122)
            b(90) = b(90) - lu(963) * b(122)
            b(88) = b(88) - lu(962) * b(122)
            b(32) = b(32) - lu(961) * b(122)
            b(30) = b(30) - lu(960) * b(122)
            b(28) = b(28) - lu(959) * b(122)
            b(25) = b(25) - lu(958) * b(122)
            b(121) = b(121) * lu(943)
            b(120) = b(120) - lu(942) * b(121)
            b(119) = b(119) - lu(941) * b(121)
            b(118) = b(118) - lu(940) * b(121)
            b(117) = b(117) - lu(939) * b(121)
            b(116) = b(116) - lu(938) * b(121)
            b(108) = b(108) - lu(937) * b(121)
            b(103) = b(103) - lu(936) * b(121)
            b(100) = b(100) - lu(935) * b(121)
            b(99) = b(99) - lu(934) * b(121)
            b(93) = b(93) - lu(933) * b(121)
            b(92) = b(92) - lu(932) * b(121)
            b(90) = b(90) - lu(931) * b(121)
            b(87) = b(87) - lu(930) * b(121)
            b(86) = b(86) - lu(929) * b(121)
            b(85) = b(85) - lu(928) * b(121)
            b(84) = b(84) - lu(927) * b(121)
            b(82) = b(82) - lu(926) * b(121)
            b(78) = b(78) - lu(925) * b(121)
            b(74) = b(74) - lu(924) * b(121)
            b(72) = b(72) - lu(923) * b(121)
            b(70) = b(70) - lu(922) * b(121)
            b(61) = b(61) - lu(921) * b(121)
            b(58) = b(58) - lu(920) * b(121)
            b(48) = b(48) - lu(919) * b(121)
            b(28) = b(28) - lu(918) * b(121)
            b(27) = b(27) - lu(917) * b(121)
            b(120) = b(120) * lu(903)
            b(118) = b(118) - lu(902) * b(120)
            b(116) = b(116) - lu(901) * b(120)
            b(103) = b(103) - lu(900) * b(120)
            b(99) = b(99) - lu(899) * b(120)
            b(95) = b(95) - lu(898) * b(120)
            b(92) = b(92) - lu(897) * b(120)
            b(87) = b(87) - lu(896) * b(120)
            b(86) = b(86) - lu(895) * b(120)
            b(85) = b(85) - lu(894) * b(120)
            b(82) = b(82) - lu(893) * b(120)
            b(78) = b(78) - lu(892) * b(120)
            b(72) = b(72) - lu(891) * b(120)
            b(61) = b(61) - lu(890) * b(120)
            b(58) = b(58) - lu(889) * b(120)
            b(56) = b(56) - lu(888) * b(120)
            b(28) = b(28) - lu(887) * b(120)
            b(27) = b(27) - lu(886) * b(120)
            b(119) = b(119) * lu(872)
            b(115) = b(115) - lu(871) * b(119)
            b(114) = b(114) - lu(870) * b(119)
            b(113) = b(113) - lu(869) * b(119)
            b(112) = b(112) - lu(868) * b(119)
            b(111) = b(111) - lu(867) * b(119)
            b(110) = b(110) - lu(866) * b(119)
            b(109) = b(109) - lu(865) * b(119)
            b(107) = b(107) - lu(864) * b(119)
            b(106) = b(106) - lu(863) * b(119)
            b(105) = b(105) - lu(862) * b(119)
            b(104) = b(104) - lu(861) * b(119)
            b(103) = b(103) - lu(860) * b(119)
            b(96) = b(96) - lu(859) * b(119)
            b(95) = b(95) - lu(858) * b(119)
            b(91) = b(91) - lu(857) * b(119)
            b(81) = b(81) - lu(856) * b(119)
            b(80) = b(80) - lu(855) * b(119)
            b(75) = b(75) - lu(854) * b(119)
            b(68) = b(68) - lu(853) * b(119)
            b(50) = b(50) - lu(852) * b(119)
            b(47) = b(47) - lu(851) * b(119)
            b(35) = b(35) - lu(850) * b(119)
            b(118) = b(118) * lu(839)
            b(103) = b(103) - lu(838) * b(118)
            b(90) = b(90) - lu(837) * b(118)
            b(117) = b(117) * lu(824)
            b(100) = b(100) - lu(823) * b(117)
            b(93) = b(93) - lu(822) * b(117)
            b(84) = b(84) - lu(821) * b(117)
            b(33) = b(33) - lu(820) * b(117)
            b(29) = b(29) - lu(819) * b(117)
            b(116) = b(116) * lu(805)
            b(99) = b(99) - lu(804) * b(116)
            b(82) = b(82) - lu(803) * b(116)
            b(46) = b(46) - lu(802) * b(116)
            b(115) = b(115) * lu(789)
            b(114) = b(114) - lu(788) * b(115)
            b(113) = b(113) - lu(787) * b(115)
            b(112) = b(112) - lu(786) * b(115)
            b(111) = b(111) - lu(785) * b(115)
            b(110) = b(110) - lu(784) * b(115)
            b(109) = b(109) - lu(783) * b(115)
            b(107) = b(107) - lu(782) * b(115)
            b(105) = b(105) - lu(781) * b(115)
            b(103) = b(103) - lu(780) * b(115)
            b(95) = b(95) - lu(779) * b(115)
            b(81) = b(81) - lu(778) * b(115)
            b(75) = b(75) - lu(777) * b(115)
            b(62) = b(62) - lu(776) * b(115)
            b(57) = b(57) - lu(775) * b(115)
            b(47) = b(47) - lu(774) * b(115)
            b(114) = b(114) * lu(760)
            b(109) = b(109) - lu(759) * b(114)
            b(105) = b(105) - lu(758) * b(114)
            b(75) = b(75) - lu(757) * b(114)
            b(71) = b(71) - lu(756) * b(114)
            b(62) = b(62) - lu(755) * b(114)
            b(113) = b(113) * lu(740)
            b(112) = b(112) - lu(739) * b(113)
            b(109) = b(109) - lu(738) * b(113)
            b(105) = b(105) - lu(737) * b(113)
            b(104) = b(104) - lu(736) * b(113)
            b(103) = b(103) - lu(735) * b(113)
            b(102) = b(102) - lu(734) * b(113)
            b(112) = b(112) * lu(721)
            b(110) = b(110) - lu(720) * b(112)
            b(109) = b(109) - lu(719) * b(112)
            b(105) = b(105) - lu(718) * b(112)
            b(103) = b(103) - lu(717) * b(112)
            b(97) = b(97) - lu(716) * b(112)
            b(95) = b(95) - lu(715) * b(112)
            b(68) = b(68) - lu(714) * b(112)
            b(43) = b(43) - lu(713) * b(112)
            b(111) = b(111) * lu(697)
            b(110) = b(110) - lu(696) * b(111)
            b(109) = b(109) - lu(695) * b(111)
            b(107) = b(107) - lu(694) * b(111)
            b(103) = b(103) - lu(693) * b(111)
            b(97) = b(97) - lu(692) * b(111)
            b(69) = b(69) - lu(691) * b(111)
            b(68) = b(68) - lu(690) * b(111)
            b(47) = b(47) - lu(689) * b(111)
            b(110) = b(110) * lu(677)
            b(109) = b(109) - lu(676) * b(110)
            b(105) = b(105) - lu(675) * b(110)
            b(103) = b(103) - lu(674) * b(110)
            b(95) = b(95) - lu(673) * b(110)
            b(81) = b(81) - lu(672) * b(110)
            b(68) = b(68) - lu(671) * b(110)
            b(45) = b(45) - lu(670) * b(110)
            b(109) = b(109) * lu(662)
            b(103) = b(103) - lu(661) * b(109)
            b(108) = b(108) * lu(650)
            b(88) = b(88) - lu(649) * b(108)
            b(34) = b(34) - lu(648) * b(108)
            b(107) = b(107) * lu(637)
            b(103) = b(103) - lu(636) * b(107)
            b(106) = b(106) * lu(625)
            b(105) = b(105) - lu(624) * b(106)
            b(68) = b(68) - lu(623) * b(106)
            b(53) = b(53) - lu(622) * b(106)
            b(105) = b(105) * lu(616)
            b(104) = b(104) * lu(607)
            b(103) = b(103) - lu(606) * b(104)
            b(103) = b(103) * lu(602)
            b(102) = b(102) * lu(587)
            b(89) = b(89) - lu(586) * b(102)
            b(75) = b(75) - lu(585) * b(102)
            b(49) = b(49) - lu(584) * b(102)
        END SUBROUTINE lu_slv07

        SUBROUTINE lu_slv08(lu, b)
            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
            IMPLICIT NONE
            !-----------------------------------------------------------------------
            ! ... Dummy args
            !-----------------------------------------------------------------------
            REAL(KIND=r8), intent(in) :: lu(:)
            REAL(KIND=r8), intent(inout) :: b(:)
            !-----------------------------------------------------------------------
            ! ... Local variables
            !-----------------------------------------------------------------------
            !-----------------------------------------------------------------------
            ! ... solve L * y = b
            !-----------------------------------------------------------------------
            b(101) = b(101) * lu(572)
            b(97) = b(97) - lu(571) * b(101)
            b(45) = b(45) - lu(570) * b(101)
            b(100) = b(100) * lu(560)
            b(93) = b(93) - lu(559) * b(100)
            b(29) = b(29) - lu(558) * b(100)
            b(99) = b(99) * lu(552)
            b(36) = b(36) - lu(551) * b(99)
            b(98) = b(98) * lu(540)
            b(80) = b(80) - lu(539) * b(98)
            b(59) = b(59) - lu(538) * b(98)
            b(97) = b(97) * lu(530)
            b(47) = b(47) - lu(529) * b(97)
            b(96) = b(96) * lu(517)
            b(80) = b(80) - lu(516) * b(96)
            b(52) = b(52) - lu(515) * b(96)
            b(95) = b(95) * lu(510)
            b(81) = b(81) - lu(509) * b(95)
            b(94) = b(94) * lu(494)
            b(75) = b(75) - lu(493) * b(94)
            b(93) = b(93) * lu(486)
            b(29) = b(29) - lu(485) * b(93)
            b(92) = b(92) * lu(476)
            b(87) = b(87) - lu(475) * b(92)
            b(86) = b(86) - lu(474) * b(92)
            b(85) = b(85) - lu(473) * b(92)
            b(72) = b(72) - lu(472) * b(92)
            b(58) = b(58) - lu(471) * b(92)
            b(91) = b(91) * lu(462)
            b(68) = b(68) - lu(461) * b(91)
            b(44) = b(44) - lu(460) * b(91)
            b(35) = b(35) - lu(459) * b(91)
            b(90) = b(90) * lu(452)
            b(89) = b(89) * lu(442)
            b(67) = b(67) - lu(441) * b(89)
            b(88) = b(88) * lu(433)
            b(34) = b(34) - lu(432) * b(88)
            b(87) = b(87) * lu(425)
            b(86) = b(86) - lu(424) * b(87)
            b(85) = b(85) - lu(423) * b(87)
            b(78) = b(78) - lu(422) * b(87)
            b(61) = b(61) - lu(421) * b(87)
            b(86) = b(86) * lu(414)
            b(61) = b(61) - lu(413) * b(86)
            b(85) = b(85) * lu(405)
            b(84) = b(84) * lu(397)
            b(33) = b(33) - lu(396) * b(84)
            b(83) = b(83) * lu(388)
            b(56) = b(56) - lu(387) * b(83)
            b(24) = b(24) - lu(386) * b(83)
            b(82) = b(82) * lu(379)
            b(81) = b(81) * lu(375)
            b(80) = b(80) * lu(369)
            b(79) = b(79) * lu(358)
            b(77) = b(77) - lu(357) * b(79)
            b(76) = b(76) - lu(356) * b(79)
            b(55) = b(55) - lu(355) * b(79)
            b(49) = b(49) - lu(354) * b(79)
            b(78) = b(78) * lu(344)
            b(72) = b(72) - lu(343) * b(78)
            b(61) = b(61) - lu(342) * b(78)
            b(77) = b(77) * lu(335)
            b(42) = b(42) - lu(334) * b(77)
            b(76) = b(76) * lu(324)
            b(55) = b(55) - lu(323) * b(76)
            b(75) = b(75) * lu(319)
            b(74) = b(74) * lu(312)
            b(73) = b(73) * lu(303)
            b(72) = b(72) * lu(296)
            b(71) = b(71) * lu(288)
            b(70) = b(70) * lu(280)
            b(69) = b(69) * lu(272)
            b(68) = b(68) * lu(268)
            b(67) = b(67) * lu(260)
            b(66) = b(66) * lu(254)
            b(65) = b(65) * lu(246)
            b(51) = b(51) - lu(245) * b(65)
            b(64) = b(64) * lu(241)
            b(63) = b(63) * lu(233)
            b(62) = b(62) * lu(227)
            b(61) = b(61) * lu(222)
            b(60) = b(60) * lu(215)
            b(59) = b(59) * lu(208)
            b(58) = b(58) * lu(201)
            b(57) = b(57) * lu(194)
            b(56) = b(56) * lu(189)
            b(55) = b(55) * lu(184)
            b(54) = b(54) * lu(178)
            b(53) = b(53) * lu(172)
            b(52) = b(52) * lu(166)
            b(51) = b(51) * lu(160)
            b(50) = b(50) * lu(154)
            b(49) = b(49) * lu(150)
            b(48) = b(48) * lu(142)
            b(47) = b(47) * lu(139)
            b(46) = b(46) * lu(134)
            b(45) = b(45) * lu(130)
            b(44) = b(44) * lu(125)
            b(43) = b(43) * lu(120)
            b(42) = b(42) * lu(115)
            b(41) = b(41) * lu(108)
            b(40) = b(40) * lu(102)
            b(39) = b(39) * lu(96)
            b(38) = b(38) * lu(90)
            b(37) = b(37) * lu(84)
            b(36) = b(36) * lu(80)
            b(26) = b(26) - lu(79) * b(36)
            b(35) = b(35) * lu(75)
            b(34) = b(34) * lu(72)
            b(33) = b(33) * lu(69)
            b(32) = b(32) * lu(65)
            b(31) = b(31) * lu(61)
            b(30) = b(30) * lu(57)
            b(29) = b(29) * lu(55)
            b(28) = b(28) * lu(53)
            b(27) = b(27) - lu(52) * b(28)
            b(27) = b(27) * lu(50)
            b(26) = b(26) * lu(47)
            b(25) = b(25) * lu(44)
            b(24) = b(24) * lu(41)
            b(23) = b(23) * lu(38)
            b(22) = b(22) * lu(33)
            b(21) = b(21) * lu(29)
            b(20) = b(20) * lu(26)
            b(19) = b(19) * lu(23)
            b(18) = b(18) * lu(20)
            b(17) = b(17) * lu(17)
            b(16) = b(16) * lu(16)
            b(15) = b(15) * lu(15)
            b(14) = b(14) * lu(14)
            b(13) = b(13) * lu(13)
            b(12) = b(12) * lu(12)
            b(11) = b(11) * lu(11)
            b(10) = b(10) * lu(10)
            b(9) = b(9) * lu(9)
            b(8) = b(8) * lu(8)
            b(7) = b(7) * lu(7)
            b(6) = b(6) * lu(6)
            b(5) = b(5) * lu(5)
            b(4) = b(4) * lu(4)
            b(3) = b(3) * lu(3)
            b(2) = b(2) * lu(2)
            b(1) = b(1) * lu(1)
        END SUBROUTINE lu_slv08

        SUBROUTINE lu_slv(lu, b)
            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
            IMPLICIT NONE
            !-----------------------------------------------------------------------
            ! ... Dummy args
            !-----------------------------------------------------------------------
            REAL(KIND=r8), intent(in) :: lu(:)
            REAL(KIND=r8), intent(inout) :: b(:)
            CALL lu_slv01(lu, b)
            CALL lu_slv02(lu, b)
            CALL lu_slv03(lu, b)
            CALL lu_slv04(lu, b)
            CALL lu_slv05(lu, b)
            CALL lu_slv06(lu, b)
            CALL lu_slv07(lu, b)
            CALL lu_slv08(lu, b)
        END SUBROUTINE lu_slv
    END MODULE mo_lu_solve
